import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix


# 显示混淆矩阵
def plot_confusion_matrix(confusion_mat):
    # plt.imshow（X）常用于绘制矩阵,热力图,地图等
    # X 表示输入数据，可以是二维数组,三维数组,PIL图像等
    # interpolation，用于控制图像的平滑程度
    # cmap:颜色映射。用于控制图像中不同数值所对应的颜色。可以选择内置的颜色映射，如gray、hot、jet等，也可以自定义颜色映射。
    plt.imshow(confusion_mat,interpolation='nearest',cmap=plt.cm.Paired)
    plt.title("Confusion matrix")
    plt.colorbar()
    tick_marks = np.arange(4)
    plt.xticks(tick_marks,tick_marks)
    plt.yticks(tick_marks,tick_marks)
    plt.ylabel("True label")
    plt.xlabel("Predicted label")
    plt.show()


y_true = [1,0,0,2,1,0,3,3,3]
y_pred = [1,1,0,2,1,0,1,3,3]

confusion_mat = confusion_matrix(y_true,y_pred)
plot_confusion_matrix(confusion_mat)
print(confusion_mat)